package models

import "sanrenx.com/xyxf/pkg/orm"

/**
 * @Description: 文章
 */
type Article struct {
	ID uint64 `gorm:"primarykey" json:"id"`
	//分类
	CategoryID   int    `json:"categoryId"`
	CategoryName string `json:"categoryName"`
	//人物
	KeymanID   uint64 `json:"keymanId"`
	KeymanName string `json:"keymanName"`
	//文章
	Title    string `json:"title"`
	Subtitle string `json:"subtitle"`
	Source   string `json:"source"`
	Album    bool   `json:"album"`
	Hot      int    `json:"hot"`

	CreatedAt orm.LocalTime `json:"createdAt"`
}

/**
 * @Description: 文章
 */
type ArticleSub struct {
	ID uint64 `gorm:"primarykey" json:"id"`
	//分类
	CategoryID   int    `json:"categoryId"`
	CategoryName string `json:"categoryName"`
	//人物
	KeymanID   uint64 `json:"keymanId"`
	KeymanName string `json:"keymanName"`

	Title string `json:"title"`
}

/**
 * @Description: 文章详情
 */
type ArticleDetails struct {
	orm.Model
	//分类
	CategoryID   int       `gorm:"index" json:"categoryId"`
	CategoryName string    `json:"categoryName"`
	Category     *Category `gorm:"foreignKey:CategoryID" json:"category"`
	//人物
	KeymanID   uint64  `gorm:"index" json:"keymanId"`
	KeymanName string  `json:"keymanName"`
	Keyman     *Keyman `gorm:"foreignKey:KeymanID" json:"keyman"`
	//文章
	Title    string `json:"title" binding:"required"`
	Subtitle string `json:"subtitle"`
	Content  string `json:"content" binding:"required"`
	Source   string `json:"source"`
	Album    bool   `json:"album"`
	Hot      int    `json:"hot"`
	View     int    `json:"view"`
	//用户行为信息
	MyFav    *UserAction `gorm:"-" json:"myFav"`    //收藏
	MyPraise *UserAction `gorm:"-" json:"myPraise"` //赞叹
}
